#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>

//文件类型函数
static int ftype(const char * fname)
{
	//定义结构体类型变量
	struct stat statres;
	//获取文件的信息
	if(stat(fname, &statres) < 0)
	{
		perror("stat");
		exit(1);
	}
	//如果是普通文件
	if(S_ISREG(statres.st_mode))
		return '-';
	//如果是目录文件
	else if(S_ISDIR(statres.st_mode))
		return 'd';
	//如果是其他
	else
		return '?';
}

int main(int argc, char * argv[])
{
	//检验参数
	if(argc < 2)
	{
		fprintf(stderr, "usage\n");
		exit(1);
	}
	//打印文件类型
	printf("%c\n",ftype(argv[1]));
	
	exit(0);
}
